package com.jeesite.modules.exam.quota.entity;

import javax.validation.constraints.Size;
import com.jeesite.common.entity.BaseEntity;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import lombok.Data;

/**
 * 考核任务指标表Entity
 * @author xhc
 * @version 2022-05-28
 */
@Table(name="dc_sup_exam_quota", alias="a", label="考核任务指标表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="exam_id", attrName="examId", label="考核任务id"),
		@Column(name="notice_id", attrName="noticeId", label="考核通知id"),
		@Column(name="quota_group", attrName="quotaGroup", label="指标类型", comment="指标类型（1关键指标、2单项指标）"),
		@Column(name="create_org", attrName="createOrg", label="指标创建单位", comment="指标创建单位（单个）"),
		@Column(name="create_org_name", attrName="createOrgName", label="指标创建单位名称", comment="指标创建单位名称（单个）", queryType=QueryType.LIKE),
		@Column(name="submit_status", attrName="submitStatus", label="提交状态", comment="提交状态（0删除、1报送、2退回）"),
		@Column(name="file_status", attrName="fileStatus", label="细则审核状态", comment="细则审核状态（1细则已补充、2细则审核驳回）"),
		@Column(name="submit_back_opinion", attrName="submitBackOpinion", label="报送退回意见"),
		@Column(name="file_back_opinion", attrName="fileBackOpinion", label="细则驳回意见"),
		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="remarks", attrName="remarks", label="备注", queryType=QueryType.LIKE),
		@Column(includeEntity=BaseEntity.class),
		@Column(name="remarks1", attrName="remarks1", label="备用字段1", queryType=QueryType.LIKE, isUpdateForce=true),
		@Column(name="remarks2", attrName="remarks2", label="备用字段2", queryType=QueryType.LIKE),
		@Column(name="remarks3", attrName="remarks3", label="备用字段3", queryType=QueryType.LIKE),
		@Column(name="remarks4", attrName="remarks4", label="备用字段4", queryType=QueryType.LIKE),
		@Column(name="contact_name", attrName="contactName", label="联系人"),
		@Column(name="contact_phone", attrName="contactPhone", label="联系电话"),
		@Column(name="form_type", attrName="formType", label="报送类型"),
	}, orderBy="a.update_date DESC"
)
@Data
public class DcSupExamQuota extends DataEntity<DcSupExamQuota> {
	
	private static final long serialVersionUID = 1L;
	 /**
	 * 考核任务id
	 */
	private String examId;
	 /**
	 * 考核通知id
	 */
	private String noticeId;
	 /**
	 * 考核通知单位子表id
	 */
	private String noticeOrgId;
	 /**
	 * 指标类型（1关键指标、2单项指标）
	 */
	private String quotaGroup;
	 /**
	 * 指标创建单位（单个）
	 */
	private String createOrg;
	 /**
	 * 指标创建单位名称（单个）
	 */
	private String createOrgName;
	 /**
	 * 提交状态（0删除、1报送、2退回）
	 */
	private String submitStatus;
	 /**
	 * 细则审核状态（1细则已补充、2细则审核驳回）
	 */
	private String fileStatus;
	 /**
	 * 报送退回意见
	 */
	private String submitBackOpinion;
	 /**
	 * 细则驳回意见
	 */
	private String fileBackOpinion;
	 /**
	 * 备用字段1
	 */
	private Long remarks1;
	 /**
	 * 备用字段2
	 */
	private String remarks2;
	 /**
	 * 备用字段3
	 */
	private String remarks3;
	 /**
	 * 备用字段4
	 */
	private String remarks4;

	private String contactName;

	private String contactPhone;
	private String examYear;
	private String examOrgList;
	private String examTitle;
	private String formType;
	private String versionId;

	public String getFormType() {
		return formType;
	}

	public void setFormType(String formType) {
		this.formType = formType;
	}

	public String getExamTitle() {
		return examTitle;
	}

	public void setExamTitle(String examTitle) {
		this.examTitle = examTitle;
	}

	public String getExamOrgList() {
		return examOrgList;
	}

	public void setExamOrgList(String examOrgList) {
		this.examOrgList = examOrgList;
	}

	public String getExamYear() {
		return examYear;
	}

	public void setExamYear(String examYear) {
		this.examYear = examYear;
	}

	public String getContactName() {
		return contactName;
	}

	public void setContactName(String contactName) {
		this.contactName = contactName;
	}

	public String getContactPhone() {
		return contactPhone;
	}

	public void setContactPhone(String contactPhone) {
		this.contactPhone = contactPhone;
	}

	public DcSupExamQuota() {
		this(null);
	}

	public DcSupExamQuota(String id){
		super(id);
	}
	
	@Size(min=0, max=64, message="考核任务id长度不能超过 64 个字符")
	public String getExamId() {
		return examId;
	}

	public void setExamId(String examId) {
		this.examId = examId;
	}
	
	@Size(min=0, max=64, message="考核通知id长度不能超过 64 个字符")
	public String getNoticeId() {
		return noticeId;
	}

	public void setNoticeId(String noticeId) {
		this.noticeId = noticeId;
	}
	
	@Size(min=0, max=64, message="考核通知单位子表id长度不能超过 64 个字符")
	public String getNoticeOrgId() {
		return noticeOrgId;
	}

	public void setNoticeOrgId(String noticeOrgId) {
		this.noticeOrgId = noticeOrgId;
	}
	
	@Size(min=0, max=10, message="指标类型长度不能超过 10 个字符")
	public String getQuotaGroup() {
		return quotaGroup;
	}

	public void setQuotaGroup(String quotaGroup) {
		this.quotaGroup = quotaGroup;
	}
	
	@Size(min=0, max=100, message="指标创建单位长度不能超过 100 个字符")
	public String getCreateOrg() {
		return createOrg;
	}

	public void setCreateOrg(String createOrg) {
		this.createOrg = createOrg;
	}
	
	@Size(min=0, max=100, message="指标创建单位名称长度不能超过 100 个字符")
	public String getCreateOrgName() {
		return createOrgName;
	}

	public void setCreateOrgName(String createOrgName) {
		this.createOrgName = createOrgName;
	}
	
	public String getSubmitStatus() {
		return submitStatus;
	}

	public void setSubmitStatus(String submitStatus) {
		this.submitStatus = submitStatus;
	}
	
	@Size(min=0, max=10, message="细则审核状态长度不能超过 10 个字符")
	public String getFileStatus() {
		return fileStatus;
	}

	public void setFileStatus(String fileStatus) {
		this.fileStatus = fileStatus;
	}
	
	@Size(min=0, max=255, message="报送退回意见长度不能超过 255 个字符")
	public String getSubmitBackOpinion() {
		return submitBackOpinion;
	}

	public void setSubmitBackOpinion(String submitBackOpinion) {
		this.submitBackOpinion = submitBackOpinion;
	}
	
	@Size(min=0, max=255, message="细则驳回意见长度不能超过 255 个字符")
	public String getFileBackOpinion() {
		return fileBackOpinion;
	}

	public void setFileBackOpinion(String fileBackOpinion) {
		this.fileBackOpinion = fileBackOpinion;
	}
	
	public Long getRemarks1() {
		return remarks1;
	}

	public void setRemarks1(Long remarks1) {
		this.remarks1 = remarks1;
	}
	
	@Size(min=0, max=200, message="备用字段2长度不能超过 200 个字符")
	public String getRemarks2() {
		return remarks2;
	}

	public void setRemarks2(String remarks2) {
		this.remarks2 = remarks2;
	}
	
	@Size(min=0, max=200, message="备用字段3长度不能超过 200 个字符")
	public String getRemarks3() {
		return remarks3;
	}

	public void setRemarks3(String remarks3) {
		this.remarks3 = remarks3;
	}
	
	@Size(min=0, max=200, message="备用字段4长度不能超过 200 个字符")
	public String getRemarks4() {
		return remarks4;
	}

	public void setRemarks4(String remarks4) {
		this.remarks4 = remarks4;
	}
	
}